﻿using Shake.Domain.Dto;
using Shake.Domain.Filters;
using Shake.Domain.Models;
using Shake.Framework.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Shake.Business.Infrastructures
{
    public interface IDepartmentService
    {
        PaginationContent GetDepartments(DepartmentFilter filter, PageArgument page);

        void Create(List<Department> departments);

        void Create(Department department);

        void Remove(List<Department> departments);

        void Update(List<Department> departments);

        List<Department> GetAllDepartment(DepartmentFilter filter);

        List<DepartmentDto> AsTree();
    }
}
